package cn.net.cfss.fgbp.api.console.dto;


import cn.net.cfss.fgbp.api.console.constant.LoginModeEnum;

import javax.persistence.*;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.FgbpEnumSerializer;

@Table(name = "t_sys_user_login_mode")
public class SysUserLoginModeDto extends BaseDto {
    /**
     * 归属用户ID
     */
    @Column(name = "USER_ID")
    private String userId;

    /**
     * 登录名称
     */
    @Column(name = "LOGIN_NAME")
    private String loginName;

    /**
     * 登录凭证
     */
    @Column(name = "LOGIN_CREDENTIAL")
    private String loginCredential;

    /**
     * 随机盐
     */
    @Column(name = "SALT")
    private String salt;

    /**
     * 登录方式(0-用户名密码;1-手机号密码;2-邮箱密码;3-微信;4-QQ)
     */
    @Column(name = "LOGIN_MODE")
    @JSONField(serializeUsing = FgbpEnumSerializer.class)
    private LoginModeEnum loginMode;

    /**
     * 启用状态(0-启用;1-禁用)
     */
    @Column(name = "ENABLE")
    private Byte enable;

    /**
     * 备注
     */
    @Column(name = "REMARK")
    private String remark;


    /**
     * 获取归属用户ID
     *
     * @return USER_ID - 归属用户ID
     */
    public String getUserId() {
        return userId;
    }

    /**
     * 设置归属用户ID
     *
     * @param userId 归属用户ID
     */
    public void setUserId(String userId) {
        this.userId = userId == null ? null : userId.trim();
    }

    /**
     * 获取登录名称
     *
     * @return LOGIN_NAME - 登录名称
     */
    public String getLoginName() {
        return loginName;
    }

    /**
     * 设置登录名称
     *
     * @param loginName 登录名称
     */
    public void setLoginName(String loginName) {
        this.loginName = loginName == null ? null : loginName.trim();
    }

    /**
     * 获取登录凭证
     *
     * @return LOGIN_CREDENTIAL - 登录凭证
     */
    public String getLoginCredential() {
        return loginCredential;
    }

    /**
     * 设置登录凭证
     *
     * @param loginCredential 登录凭证
     */
    public void setLoginCredential(String loginCredential) {
        this.loginCredential = loginCredential == null ? null : loginCredential.trim();
    }

    /**
     * 获取随机盐
     *
     * @return SALT - 随机盐
     */
    public String getSalt() {
        return salt;
    }

    /**
     * 设置随机盐
     *
     * @param salt 随机盐
     */
    public void setSalt(String salt) {
        this.salt = salt == null ? null : salt.trim();
    }

    /**
     * 获取登录方式(0-用户名密码;1-手机号密码;2-邮箱密码;3-微信;4-QQ)
     *
     * @return LOGIN_MODE - 登录方式(0-用户名密码;1-手机号密码;2-邮箱密码;3-微信;4-QQ)
     */
    public LoginModeEnum getLoginMode() {
        return loginMode;
    }

    /**
     * 设置登录方式(0-用户名密码;1-手机号密码;2-邮箱密码;3-微信;4-QQ)
     *
     * @param loginMode 登录方式(0-用户名密码;1-手机号密码;2-邮箱密码;3-微信;4-QQ)
     */
    public void setLoginMode(LoginModeEnum loginMode) {
        this.loginMode = loginMode;
    }

    /**
     * 获取启用状态(0-启用;1-禁用)
     *
     * @return ENABLE - 启用状态(0-启用;1-禁用)
     */
    public Byte getEnable() {
        return enable;
    }

    /**
     * 设置启用状态(0-启用;1-禁用)
     *
     * @param enable 启用状态(0-启用;1-禁用)
     */
    public void setEnable(Byte enable) {
        this.enable = enable;
    }

    /**
     * 获取备注
     *
     * @return REMARK - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

}